Currently, image capture devices, including digital cameras and other image capture devices, are used to obtain multimedia content. This multimedia content may include digital images, any sound annotating the image, and tags containing information about the image. Typically, a host such as a computer is used to view, print, edit and otherwise manipulate data from a capture device. In order to retrieve data from a capture device, an application on the host must be capable of communicating with the image capture device. A user interface is also provided to allow the user to control the host's communication with the capture device, for example to choose which data is transferred from the capture device to the host.
Typically, a conventional TWAIN data source both provides the user interface for the capture device and connectivity to the capture device. In the context of this application, connectivity includes the physical connection to the capture device, for example via USB (Uniform Serial Bus), the accompanying protocols, and control of or communication with the capture device. Although a conventional TWAIN data source does allow communication with a capture device, such a conventional TWAIN data source is specific to a particular capture device. For example, one TWAIN data source would be used to communicate with a given digital camera. If an application on the host is to communicate with a different type of digital camera or other capture device, a completely new TWAIN data source must be provided. Thus, a developer desiring to allow an application to communicate with another capture device must provide both the user interface and the connectivity for the new capture device through a completely new TWAIN data source. Moreover, a conventional TWAIN data source can only acquire data. An application using a conventional TWAIN data source can, therefore, only receive data from a particular capture device. Finally, the conventional TWAIN data source also takes control of the host when acquiring data, precluding the user from accessing other features of the application while the conventional TWAIN data source is working.
Some conventional monolithic applications are capable of directly communicating with multiple capture devices. Such applications have built-in support for multiple cameras. As a result, such a conventional application can provide connectivity for each of the plurality cameras the application supports. However, once the capture devices supported are set, new capture devices cannot be supported without rewriting the application. Consequently, the number and type of capture devices supported by such conventional applications is limited to those chosen when the application was developed.
Accordingly, what is needed is a system and method for supporting a plurality of different capture devices on a host which requires minimal software development. The present invention addresses such a need.